package com.web.base.user.facade;

import com.blue.core.dict.State;
import com.blue.jdbc.Page;
import com.web.base.user.message.AddressRequest;
import com.web.base.user.message.AddressResponse;

import java.util.List;

/**
 * 收货地址接口
 * 
 * @author 代码由 blue-code 框架生成
 * @since 1.0 2018年06月26日
 */
public interface AddressFacade
{

	/**
	 * 添加收货地址
	 */
	AddressResponse add(AddressRequest request);

	/**
	 * 更新收货地址
	 */
	AddressResponse update(AddressRequest request);
	
	/**
	 * 查询单个收货地址
	 */
	AddressResponse get(Integer id);

	/**
	 * 根据用户ID查询收货地址
	 */
	List<AddressResponse> listByUser(Integer userId, State state);
	
	/**
	 * 查询收货地址，分页
	 */
	Page<AddressResponse> listPage(AddressRequest request, int start, int size);
	
}
